//package com.example.controller;
//
//
//import cn.hutool.core.util.ObjectUtil;
//import cn.hutool.core.util.StrUtil;
//import com.example.common.Result;
//import com.example.common.enums.ResultCodeEnum;
//import com.example.entity.Project;
//import com.example.entity.User;
//import com.example.entity.otherentity.Willdo;
//import com.example.service.IProjectService;
//import com.example.service.IUserService;
//import com.example.utils.TokenUtils;
//import com.github.pagehelper.PageHelper;
//import com.github.pagehelper.PageInfo;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * <p>
// * 前端控制器
// * </p>
// *
// * @author example.demo
// * @since 2024-01-25
// */
//@RestController
//@RequestMapping("/user")
//public class UserController {
//
//
//
//    @PostMapping("/register")
//    public Result register(@RequestBody User user) {
//        if (StrUtil.isBlank(user.getUsername()) || StrUtil.isBlank(user.getPassword())
//                || ObjectUtil.isEmpty(user.getRole())) {
//            return Result.error(ResultCodeEnum.PARAM_LOST_ERROR);
//        }
//        if (iUserService.lambdaQuery().eq(User::getUsername, user.getUsername()).list().size() > 0) {
//            return Result.error(ResultCodeEnum.USER_EXIST_ERROR);
//        }
//        iUserService.save(user);
//        return Result.success();
//    }
//
//
//
//    @PostMapping("/login")
//    public Result login(@RequestBody User user) {
//        if (ObjectUtil.isEmpty(user.getUsername()) || ObjectUtil.isEmpty(user.getPassword())
//                || ObjectUtil.isEmpty(user.getRole())) {
//            return Result.error(ResultCodeEnum.PARAM_LOST_ERROR);
//        }
//        if (iUserService.lambdaQuery().eq(User::getUsername, user.getUsername()).eq(User::getPassword, user.getPassword())
//                .eq(User::getRole, user.getRole()).list().size() == 0) {
//            return Result.error(ResultCodeEnum.USER_ACCOUNT_ERROR);
//        }
//        user = iUserService.lambdaQuery().eq(User::getUsername, user.getUsername()).list().get(0);
//        String tokenData = user.getId() + "-" + user.getRole();
//        String token = TokenUtils.createToken(tokenData, user.getPassword());
//        user.setToken(token);
//        return Result.success(user);
//    }
//
//    @PutMapping("/update")
//    public Result updateById(@RequestBody User user) {
//        try {
//            iUserService.updateById(user);
//            return Result.success(user);
//        } catch (Exception e) {
//            return Result.error(e);
//        }
//    }
//}
